package controle;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import controle.CadastroNumeroSerieControle.NumeroSerieListener;

import modelo.ConfirmacaoPedido;
import modelo.CriterioAceitacao;
import util.Util;
import visao.CadastroPressoesTesteVisao;
import visao.CadastroRotacoesTesteVisao;
import visao.CadastroTesteVisao;

public class CadastroPressoesTesteControle {
	
	private CadastroPressoesTesteVisao visaoCadastroPressoesTeste;
	private CadastroTesteVisao visaoCadastroTeste;
	private CriterioAceitacao criterioAceitacaoClone;
	private ConfirmacaoPedido confirmacaoPedido;
	
	public CadastroPressoesTesteControle(CadastroPressoesTesteVisao visaoCadastroPressoesTeste, CriterioAceitacao criterioAceitacaoClone, ConfirmacaoPedido confirmacaoPedido, CadastroTesteVisao visaoCadastroTeste) {		
		this.visaoCadastroTeste = visaoCadastroTeste;
		this.visaoCadastroPressoesTeste = visaoCadastroPressoesTeste;
		this.criterioAceitacaoClone = criterioAceitacaoClone;
		this.confirmacaoPedido = confirmacaoPedido;
		this.visaoCadastroPressoesTeste.addNovaPressaoListener(new PressoesListener());
	}

	public void show() {
		visaoCadastroPressoesTeste.setVisible(true);		
	}
	
	/**
	 * INNER CLASS CONFIGURANDO O EVENTO DO BOTAO "btAdicionar" NA VISAO	 
	 */
	class PressoesListener implements ActionListener {

		@Override
		public void actionPerformed(ActionEvent e) {
			double novaPressao;
			try {
				
				novaPressao = Double.parseDouble(visaoCadastroPressoesTeste.getTfNovaRotacao().getText());						
				criterioAceitacaoClone.getCondicaoTeste().addPressao((int) ((novaPressao / Util.getPressao(confirmacaoPedido)) * 100));
				visaoCadastroTeste.escrevePressoes(criterioAceitacaoClone, Util.getPressao(confirmacaoPedido));
				
			} catch (Exception e2) {
				System.out.println("Erro ao cadastrar novo numero de maquina! " + e2);
			}
			
		}	
		
	}

}
